Circular Compositional Reasoning about Liveness
نویسنده
چکیده
Compositional proofs about systems of many components often involve apparently circular arguments. That is, correctness of component A must be assumed when verifying component B, and vice versa. The apparent circularity of such arguments can be resolved by induction over time. However, previous methods for such circular compositional reasoning apply only to safety properties. This paper presents a method of circular compositional reasoning that applies to liveness properties as well. It is based on a new circular compositional rule implemented in the SMV proof assistant. The method is illustrated using Tomasulo's algorithm for out-of-order instruction execution. An implementation is proved live for arbitrary resources using compositional model checking.
منابع مشابه
A Trace-Based Refinement Calculus for Shared-Variable Parallel Programs
We present a trace-based, syntax-directed reenement calculus for shared-variable parallel programs. It supports compositional reasoning, local variables, and fairness and allows for reasoning about liveness properties like termination or eventual entry. A detailed example is given and related work is reviewed.
متن کاملRetracing the Semantics of CSP
CSP was originally introduced as a parallel programming language in which sequential imperative processes execute concurrently and communicate by synchronized input and output. The influence of CSP and the closely related process algebra TCSP is widespread. Over the years CSP has been equipped with a series of denotational semantic models, involving notions such as communication traces, failure...
متن کاملTransfer Principles for Reasoning About Concurrent Programs
In previous work we developed a transition trace semantic model, suitable for shared-memory parallel programs as well as networks of asynchronous communicating processes, abstract enough to support compositional reasoning about safety and liveness properties. We now use this framework to formalize and generalize some techniques used more or less informally in the literature to facilitate reason...
متن کاملThe Refinement Calculus of Reactive Systems
The Refinement Calculus of Reactive Systems (RCRS) is a compositional formal framework for modeling and reasoning about reactive systems. RCRS provides a language which allows to describe atomic components as symbolic transition systems or QLTL formulas, and composite components formed using three primitive composition operators: serial, parallel, and feedback. The semantics of the language is ...
متن کاملProgressive Collecting Semantics
We present a semantics of programs whose level of detail lie in between that of collecting semantics, which describe the set of states which appear at a program point, and of trace semantics, which additionally describe the sequence in which states appear. Collecting semantics, being simpler, have the advantage of being amenable to Hoare-style reasoning which operates on program syntax and is c...
متن کامل